package com.rc.saas.mini.model.elec;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.rc.saas.mini.common.base.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description 
 * @Author  
 * @Date: 2022-04-24
 */

@ApiModel(value=" elec_parking_order ", description=" 车辆停放费用订单 ")
public class ElecParkingOrder extends BaseModel{ 

    @ApiModelProperty(value = "ID")
    private Long parkingOrderId;
 
    @ApiModelProperty(value = "运营商")
    private String tenantCode;
 
    @ApiModelProperty(value = "会员ID")
    private Long memberId;
 
    @ApiModelProperty(value = "充电站ID")
    private Long elecStationId;
 
    @ApiModelProperty(value = "桩群编号")
    private String stationNo;
 
    @ApiModelProperty(value = "入闸口ID,关联elec_station_parking_gate表")
    private Long parkingGateId;
 
    @ApiModelProperty(value = "入闸记录ID,关联elec_station_parking_entry表")
    private Long parkingEntryId;
 
    @ApiModelProperty(value = "出闸记录ID,关联elec_station_parking_exit表")
    private Long parkingExitId;
 
    @ApiModelProperty(value = "订单ID,关联order_info表")
    private Long orderId;
 
    @ApiModelProperty(value = "内部订单号,关联order_info表")
    private String orderNum;
 
    @ApiModelProperty(value = "订单开始充电时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date orderStartTime;
 
    @ApiModelProperty(value = "订单完成充电时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date orderEndTime;
 
    @ApiModelProperty(value = "车牌号")
    private String carNumber;
 
    @ApiModelProperty(value = "评价")
    private String evaluate;
 
    @ApiModelProperty(value = "评星 1-5")
    private Integer evaStar;
 
    @ApiModelProperty(value = "入场时间")
    private String entryTime;
 
    @ApiModelProperty(value = "出场时间(目前只针对停简单)")
    private String outTime;
 
    @ApiModelProperty(value = "充电时长(分钟)")
    private Integer chargeDuration;
 
    @ApiModelProperty(value = "停车场停车订单（目前只有停简单）")
    private String outTradeNum;
 
    @ApiModelProperty(value = "优惠券号(目前只有停简单)")
    private String outTicketNum;
 
    @ApiModelProperty(value = "订单类型 0第三方道闸订单  1自建道闸订单 默认0")
    private String orderType;
 
    @ApiModelProperty(value = "当order_type=1时的支付时间（支付到帐时回写）,如果是fact_amount为0,就没有pay_time和pay_count")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date selfPayTime;
 
    @ApiModelProperty(value = "当order_type=1时的停车单号")
    private String selfOrderNum;
 
    @ApiModelProperty(value = "当order_type=1时的支付次数,1小时免费充电,第1次支付后给15分钟,第2次不能给15分钟")
    private Integer selfPayCount;
 
    @ApiModelProperty(value = "当order_type=1时的订单状态, 0进场未支付 1出场未支付 2出场已支付 3已出场 默认0")
    private String selfOrderStatus;
 
    @ApiModelProperty(value = "当order_type=0时的订单状态,0未处理 1已处理 2额外优惠  默认0")
    private String outOrderStatus;
 
    @ApiModelProperty(value = "临时车标志(0:非临时车;1:临时车)")
    private String tempCarType;
 
    @ApiModelProperty(value = "临时停车状态 (0非临时车 1入闸扫码 2入闸 3出闸扫码 4出闸)")
    private String tempParkStatus;
 
    @ApiModelProperty(value = "通知次数")
    private Integer parkingNotifyCount;
 
    @ApiModelProperty(value = "有效通知状态 0成功 1失败")
    private String parkingNotifyStatus;
 
    @ApiModelProperty(value = "备注")
    private String remark;
 
    @ApiModelProperty(value = "创建人")
    private String createdBy;
 
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
 
    @ApiModelProperty(value = "null")
    private String lastUpdatedBy;
 
    @ApiModelProperty(value = "null")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedTime;
 
    public Long getParkingOrderId() {
        return parkingOrderId;
    }

    public void setParkingOrderId(Long parkingOrderId) {
        this.parkingOrderId = parkingOrderId;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getElecStationId() {
        return elecStationId;
    }

    public void setElecStationId(Long elecStationId) {
        this.elecStationId = elecStationId;
    }

    public String getStationNo() {
        return stationNo;
    }

    public void setStationNo(String stationNo) {
        this.stationNo = stationNo;
    }

    public Long getParkingGateId() {
        return parkingGateId;
    }

    public void setParkingGateId(Long parkingGateId) {
        this.parkingGateId = parkingGateId;
    }

    public Long getParkingEntryId() {
        return parkingEntryId;
    }

    public void setParkingEntryId(Long parkingEntryId) {
        this.parkingEntryId = parkingEntryId;
    }

    public Long getParkingExitId() {
        return parkingExitId;
    }

    public void setParkingExitId(Long parkingExitId) {
        this.parkingExitId = parkingExitId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    public Date getOrderStartTime() {
        return orderStartTime;
    }

    public void setOrderStartTime(Date orderStartTime) {
        this.orderStartTime = orderStartTime;
    }

    public Date getOrderEndTime() {
        return orderEndTime;
    }

    public void setOrderEndTime(Date orderEndTime) {
        this.orderEndTime = orderEndTime;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public String getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(String evaluate) {
        this.evaluate = evaluate;
    }

    public Integer getEvaStar() {
        return evaStar;
    }

    public void setEvaStar(Integer evaStar) {
        this.evaStar = evaStar;
    }

    public String getEntryTime() {
        return entryTime;
    }

    public void setEntryTime(String entryTime) {
        this.entryTime = entryTime;
    }

    public String getOutTime() {
        return outTime;
    }

    public void setOutTime(String outTime) {
        this.outTime = outTime;
    }

    public Integer getChargeDuration() {
        return chargeDuration;
    }

    public void setChargeDuration(Integer chargeDuration) {
        this.chargeDuration = chargeDuration;
    }

    public String getOutTradeNum() {
        return outTradeNum;
    }

    public void setOutTradeNum(String outTradeNum) {
        this.outTradeNum = outTradeNum;
    }

    public String getOutTicketNum() {
        return outTicketNum;
    }

    public void setOutTicketNum(String outTicketNum) {
        this.outTicketNum = outTicketNum;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public Date getSelfPayTime() {
        return selfPayTime;
    }

    public void setSelfPayTime(Date selfPayTime) {
        this.selfPayTime = selfPayTime;
    }

    public String getSelfOrderNum() {
        return selfOrderNum;
    }

    public void setSelfOrderNum(String selfOrderNum) {
        this.selfOrderNum = selfOrderNum;
    }

    public Integer getSelfPayCount() {
        return selfPayCount;
    }

    public void setSelfPayCount(Integer selfPayCount) {
        this.selfPayCount = selfPayCount;
    }

    public String getSelfOrderStatus() {
        return selfOrderStatus;
    }

    public void setSelfOrderStatus(String selfOrderStatus) {
        this.selfOrderStatus = selfOrderStatus;
    }

    public String getOutOrderStatus() {
        return outOrderStatus;
    }

    public void setOutOrderStatus(String outOrderStatus) {
        this.outOrderStatus = outOrderStatus;
    }

    public String getTempCarType() {
        return tempCarType;
    }

    public void setTempCarType(String tempCarType) {
        this.tempCarType = tempCarType;
    }

    public String getTempParkStatus() {
        return tempParkStatus;
    }

    public void setTempParkStatus(String tempParkStatus) {
        this.tempParkStatus = tempParkStatus;
    }

    public Integer getParkingNotifyCount() {
        return parkingNotifyCount;
    }

    public void setParkingNotifyCount(Integer parkingNotifyCount) {
        this.parkingNotifyCount = parkingNotifyCount;
    }

    public String getParkingNotifyStatus() {
        return parkingNotifyStatus;
    }

    public void setParkingNotifyStatus(String parkingNotifyStatus) {
        this.parkingNotifyStatus = parkingNotifyStatus;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

}
